約 4,069,078 件
https://w.atwiki.jp/shuei/pages/241.html
Java プログラム 記述順序 パッケージ宣言・インポート宣言・クラス/インターフェース宣言の順に記述 それぞれ複数書くことが許される キーワードと識別子 予約語は使用できない assertは別扱い 英字・$・_・数字を使用できるが、数字を先頭にはできない 大文字と小文字は区別される アクセス修飾子 public / protected / / private クラス修飾子 public / abstract / final クラスの定義 フィールド・コンストラクタ・メソッド・静的初期化子が定義される abstract finalと同時に指定できない インターフェースを実装するためには、implements 抽象クラスとサブインターフェースを実装するためには、extends インターフェースは複数実装することができる 抽象メソッドはデフォルトでpublicとなり、フィールドはpublic final staticとなる final finalのついたフィールドは、定数となり再定義ができない finalのついたメソッドは、継承によりオーバーライドできない finalのついたクラスは、サブクラスが作れない ただし、参照型変数の場合、変数の指すオブジェクトのデータ自体には変更を加えれる static staticのつかないフィールドは、インスタンス変数と呼ばれオブジェクト毎に関連付けられる staticのつくフィールドは、クラス変数と呼ばれ参照されるクラス毎に関連付けられる サブクラスにおけるコンストラクタ this / superはコンストラクタ本体の先頭に書く superの呼び出しを明示指定しないと、先頭にsuper();が挿入される オーバーロード 同名で同じシグネチャの異なるメソッドを一つのクラスに宣言できる 同じシグネチャで戻り値が異なるメソッドは定義できない オーバーライド サブクラスにおいて、スーパークラスと同名で同じシグネチャ・同じ戻り値のメソッドを再定義すること スーパークラスの制限より緩和された修飾子をつけることができない ポリモーフェズム スーパークラスの変数で全ての全てのサブクラスのオブジェクトを扱えること インターフェース修飾子 public / abstract フィールド修飾子 final / static / transient (non-serializable) / volatile (non-tuned up) メソッド修飾子 abstract / final / native (depends on the platform code) / static / synchronized ガベージコレクション スコープを外れた一時変数は自動的に対象になる System.gc(); Runtime.getRuntime().gc(); でガベージコレクションを促すことができる finalizeメソッドは、メモリ以外のリソースの回収を行う finally 節 例外をスローする手段の一つであるtry構造において、例外の有無・return文の有無に関わらず実行される文を列挙 RuntimeException Arithmetic / ArrayStore / ClassCast / IndexOutOfBounds / NullPointer などは非検査例外であるため、コンパイルエラーがなくスローする必要もない 不適切なアサーション publicメソッド内の引数チェック・本来評価すべきboolean式の使用(無効化の場合への対処)・エンドユーザの入力処理 アサーション対象の優先順位 ea / -da オプションの使用に関して、クラス名を指定するような詳細な対象指定が優先され、矛盾する対象指定では後を優先 ローカルインナークラス メソッド内で記述したインタークラス(非static)は、メソッド内のfinalなフィールド・finalな引数と外部の全てのフィールドにアクセス可能 スレッド 一つのプログラム中の複数の実行経路 startメソッドにより、runメソッド内に記述された内容が実行runメソッドを直接実行してもスレッド化されない setPriorityメソッドで優先度を指定する MIN / MAX / NORM_PRIORITY値で指定 優先度の解釈はシステムに依存しており、予測できない スレッドスケジューラがスレッドの実行を制御 スレッドスケジューラの機能は環境に依存 スレッドの状態には、実行中・実行可能・実行不可能・デッド(再実行不可能)の4つがある yield / sleep は static メソッド join は、非static メソッドである waitメソッドは、synchronizedなメソッドやブロック内で実行できる スレッド内にstaticな変数がある場合、データの不整合がおきうる ロック探索状態 synchronizedメソッドである場合や、waitしている状態でnotify / notifyAllが実行されたときにロック探索状態となる
https://w.atwiki.jp/javamock/pages/42.html
テキストエディタ作成ver1.2 Javaでテキストエディタ作成に挑戦してます。 作成の過程で学べたことをメモしておきます。 作ったファイルを置いておきますが、自己責任でお願いします。 全角文字の入ったパスにjarファイルを置くと動作しないかもしれません。 展開したフォルダ内のjarファイルをダブルクリックで動作すると思います。 テキストエディタ TextEditor1.2.zip ソース テキストエディタソースver1.2 機能 新規 開く 上書き保存 名前を付けて保存 右端で折り返す ※texteditor.iniをいじると多少はテキストエディタの設定ができます。 textAreaWidth = 500 ←幅 textAreaHeight = 300 ←高さ tabSize = 4 ←タブ時のスペース数 fontSize = 16 ←フォントの大きさ 変更点 背景、文字、選択部分、キャレットの色フォントを変更 多少設定できるようになった 起動時にテキストエリアにフォーカスが当たるようになった 右端で折り返す これだけです。。。 改善点 enumを使った(ラベル・ニーモニック・アクションキー) iniファイル読み込み成功 右端で折り返した テキストエリアにフォーカス 文字が見やすくなった java.awt.event.KeyEventクラスのフィールド定数を使った クラスを分けた 気になる 例外発生時にアラートを表示するようにしたい 名前を付けて保存時に既にあるファイル名に保存する場合もアラートがほしい フィールドのスコープが適正かどうかわからない 検索機能はつけたい クラス名のつけ方がわからない クラス分けの基準がわからない コメントがおかしいとこがたくさんあった 背景や文字の色フォントなども設定できるようにしたい ctrl + Sで保存したい → アクセラレータというものをつかうみたい まなんだ インターフェースを使えた enumを使えた → 管理が楽になった thisを理解してるか不安になったが、わかった java.util.Propertiesを使えた インターフェースが引数のメソッドには実装クラスオブジェクトを渡す。理解していないことに気づけた テキストエディタ検索機能案 以下のプログラムで検索の実験(search.txtからJavaって文字を探す) Search.java import java.io.*; class Search { public static void main(String [] args) { try { FileReader in = new FileReader("search.txt"); BufferedReader br = new BufferedReader(in); String line; while ((line = br.readLine()) != null) { String search = "Java"; int index = -search.length(); while (index != -1) { index = line.indexOf(search, index + search.length()); System.out.print(index + " "); } System.out.println(); } br.close(); in.close(); } catch (IOException e) { System.out.println(e); } } } 以下のようなテキストファイルを用意した search.txt Javaという文字を検索するテストです。 StringのメソッドIndexOfを使えばできるか? それとも違うものがJavaであるのか? 試行錯誤中です。 一行に二文字以上Javaという単語が出てきた場合のテストJavaJava 以上です 実行結果 C \java javac Search.java C \java java Search 0 -1 -1 -1 9 -1 -1 -1 -1 8 28 32 -1 -1 -1 一応Javaって書いてある箇所の先頭のindexは取得できた?!これを使って検索機能なんとかならないか? 検索文字列が見つからなかった場合は-1が返ってくる ※java.util.regexのPattern、Matcherを使う方法がある?
https://w.atwiki.jp/projecthikky/pages/37.html
Java HTMLパーサ
https://w.atwiki.jp/javamock/pages/30.html
Date Javaにおいて java.util.Dateクラスは日付・時刻を扱うクラスです。 精度はミリ秒です。 Dateクラスのコンストラクタ Date() は現在の日時を保持したDateオブジェクトを生成します。 Dateクラスのコンストラクタ Date(long date) は指定されたミリ秒の値を使って Date オブジェクトを構築します。 また、Dateクラスのメソッドは以下のようなものがあります。※他にもあります setTime(long time) は1970/01/01 00 00 00 GMT からtimeミリ秒の時点を表すように設定します。 toString() はDateオブジェクトを文字列型に変換します。 after(Date when) はこの日付が、指定された日付より後にあるかどうかを判定します。 before(Date when) はこの日付が、指定された日付より前にあるかどうかを判定します。 Date 使用例 1 DateSample.java class DateSample { public static void main(String[] args) { // 現在日時 java.util.Date dateObject1 = new java.util.Date(); System.out.println("dateObject1 " + dateObject1); // 1970/01/01 00 00 00.000 java.util.Date dateObject2 = new java.util.Date(0); System.out.println("dateObject2 " + dateObject2); // 1970/01/01 00 00 00.000 から10000000000000ミリ秒経過時間 java.util.Date dateObject3 = new java.util.Date(10000000000000L); System.out.println("dateObject3 " + dateObject3); // setTime(long time) は指定されたミリ秒の値を使って、既存の Date オブジェクトを設定します。 java.util.Date dateObject4 = new java.util.Date(); dateObject4.setTime(20000000000000L); System.out.println("dateObject4 " + dateObject4); // toString() Dateオブジェクトを文字列型に変換します。 System.out.println(dateObject3.toString() + "\t" + dateObject4.toString()); // after(Date when),before(Date when)で日付の比較を行います。 System.out.println("dateObject1.after(dateObject2) " + dateObject1.after(dateObject2)); System.out.println("dateObject2.after(dateObject1) " + dateObject2.after(dateObject1)); System.out.println("dateObject1.before(dateObject2) " + dateObject1.before(dateObject2)); System.out.println("dateObject2.before(dateObject1) " + dateObject2.before(dateObject1)); } } 実行結果 C \java javac DateSample.java C \java java DateSample dateObject1 Tue Mar 03 22 59 48 JST 2009 dateObject2 Thu Jan 01 09 00 00 JST 1970 dateObject3 Sun Nov 21 02 46 40 JST 2286 dateObject4 Tue Oct 11 20 33 20 JST 2603 Sun Nov 21 02 46 40 JST 2286 Tue Oct 11 20 33 20 JST 2603 dateObject1.after(dateObject2) true dateObject2.after(dateObject1) false dateObject1.before(dateObject2) false dateObject2.before(dateObject1) true また、「Thu Jan 01 09 00 00 JST 1970」のような表記ではなく他のフォーマットにしたい場合には、 java.text.DateFormatやjava.text.SimpleDateFormatなどDate型のフォーマットを行えるクラスがあります。
https://w.atwiki.jp/m_shige1979/pages/1229.html
変数・定数 変数 変数は データ型 + 変数名で定義 値を初期化して実行した場合 import java.io.*; /* サンプルソース */class sample03{ public static void main(String args[]){ // hellow world test // 変数の定義 int a; a = 100; System.out.println("a = " + a); a = a * 2; System.out.println("a = " + a); }} コンパイル・結果 c \tool\java javac sample03.java c \tool\java java sample03a = 100a = 200 c \tool\java 値を初期化せずに実行した場合 import java.io.*; /* サンプルソース */class sample04{ public static void main(String args[]){ // hellow world test // 変数の定義 int a; System.out.println("a = " + a); }} コンパイル・結果 c \tool\java javac sample04.javasample04.java 10 変数 a は初期化されていない可能性があります。 System.out.println("a = " + a); ^エラー 1 個 c \tool\java 定数 定数は "final" + データ型 + 変数名で定義 値を初期化して実行した場合 import java.io.*; /* サンプルソース */class sample05{ public static void main(String args[]){ // 定数の定義 final int b = 1000; System.out.println("b = " + b); }} コンパイル・結果 c \tool\java javac sample05.java c \tool\java java sample05b = 1000 c \tool\java 値を初期化後に値を設定して実行した場合 import java.io.*; /* サンプルソース */class sample06{ public static void main(String args[]){ // 定数の定義 final int b = 1000; System.out.println("b = " + b); b = 100; System.out.println("b = " + b); }} コンパイル・結果 c \tool\java javac sample06.javasample06.java 9 final 変数 b に値を代入することはできません。 b = 100; ^エラー 1 個 c \tool\java
https://w.atwiki.jp/mamatumo/pages/19.html
よくみてるサイトってゆーと。。うーんでも最近あんまり、見てないなぁ [#v7d13725] Java/J2EEってゆーと、次から次へと新しいテクノロジやフレームワークが出てくる。新しいネタや、イケてるオープンソースの使用ネタを見たいってゆー新しい物好き的なリンク Java News いつも世話になってる、ニュースサイト。Newsはここだけでイケル。なにげに安藤さんのBlogもおもしろい。 Developerworks日本語版 同じみ、IBMの開発者向けサイト。オープンソースにシフトしてる記事あり。定番 Javaに限らず、たまに色々気づかされるサイト @IT たまに見るが、できてから何年にもなるのでドキュメント多い。のでおもしろそうなの拾い読み。
https://w.atwiki.jp/extranote/pages/34.html
ソースファイル C \JAVA_LESSON\src\HelloWorld.java を javacコマンド でコンパイルしてクラスファイル C \JAVA_LESSON\classes\HelloWorld.class を作りたい。 (WindowsXPの場合) すべてのプログラム→アクセサリ→コマンドプロンプト で コマンドプロンプト起動 カレントディレクトリを移動してから、javacする。 ---------- C \JAVA_LESSON javac -d classes ser/HelloWorld.java ---------- -d クラスファイルを保存したいディレクトリを指定 ソースをディレクトリつきで指定 するってぇと、 C \JAVA_LESSON\classes\HelloWorld.class ができる。 classフォルダもコンパイラが作ってくれるらしい。 実行するときは javaコマンド ---------- C \JAVA_LESSON java -cp classes HelloWorld ---------- -cp クラスファイルはここにあるからここから探せ という意味 クラスファイル名だけでOK ■パッケージの場合 ソースファイル Test.java を javacコマンド でコンパイルしてクラスファイル C \JAVA_LESSON\classes\HelloWorld.class を作りたい。 必ず、ソースファイルは、パッケージ宣言と同じ配置に置く 例 Test.java が javalesson.chap2 というパッケージだとしたら C \JAVA_LESSON\src\javalesson\chap2\Test.java ここに、こう置く。 --Test.java-- package javalesson.chap2; public class Test{ public static void main(String[] args){ //~中略~ 何かいろんな処理 } } ---------- コマンドプロンプトを起動 ---------- C \JAVA_LESSON javac -d classes ser/javalesson/chap2/Test.java ---------- -d クラスファイルを保存したいディレクトリを指定 ソースをディレクトリ(パッケージ名と同じ)つきで指定 C \JAVA_LESSON\classes\classes\javalesson\chap2\Test.class ができる。 やっぱりフォルダもコンパイラが作ってくれるらしい。 ■参考サイト http //www.ytp.ne.jp/tech/java/sineruka/classpathhowto.html http //homepage3.nifty.com/uzblend/faq/index.html#xb3 http //www.nextindex.net/java/packageUse.html http //www.atmarkit.co.jp/fjava/onepoint/java/jv_jvc.html
https://w.atwiki.jp/picolit/pages/15.html
JavaScriltSample テーブルのTD要素を取得する
https://w.atwiki.jp/mk01/pages/12.html
ここにJava関係の情報をまとめよう。
https://w.atwiki.jp/api_programming/pages/130.html
Module Toybox Lang - API Docs 下位ページ Float String Content Module Toybox LangDefined Under Namespace Instance Method Summary Instance Method Details(String) format(format, params) フォーマット化された文字列を生成する Class Toybox Lang Float関数(要約) Float Instance Method Details(Float) abs 絶対値を返す (String) format(format) フォーマット文字列を用いて、指定した表示形式の文字列を取得する (Double) toDouble Double型に変換する (Float) toFloat Float へ変換する (Long) toLong Long 型へ変換する (Number) toNumber Number 型へ変換する Module Toybox Lang Monkey C 言語の基本型を提供する Number 32 bit 符号付き整数 Float 32 bit 浮動小数点数 Long 64 bit 整数 Double 64 bit 浮動小数点数 Booleans 真偽値 Symbols 軽量な定数 Strings 文字列 Objects Instantiated objects are defined with the class keyword. Classes are bindings of names to values. Dictionaries - Associative arrays, allocated with the syntax “new {}” or just “{}” Arrays Arrays, allocated with the syntax “new [X]” where X is an expression computing the size of the array Exceptions The base type for an error that can be handled in code with a try/catch. Used with the throw keyword. Since 1.0.0 Defined Under Namespace Classes Array, Boolean, Dictionary, Double, Exception, Float, Long, Method, Number, Object, String, Symbol, UnexpectedTypeException, WeakReference Instance Method Summary (collapse) - (String) format(format, params) Use format() to create a formatted String by substituting the given parameters into the given format at the corresponding locations. Instance Method Details (String) format(format, params) フォーマット化された文字列を生成する 与えられたフォーマットに対し、与えられパラメータ値を用いて、文字列を生成する。 与えられたフォーマット "Your next meeting is at $1$ $2$ on $3$ $4$ in room $5$." 与えられたパラメータ [2, 30, "Sep", 4, "6820"] 出力される文字列 "Your next meeting is at 2 30 on Sep 4 in room 6820." Parametersformat (String) A string using $1$, $2$, $3$… as substitution identifiers params (Array) Array of content to substitute in Returns (String) A new String with the substituted content Since 1.0.0 Class Toybox Lang Float 32ビット浮動小数点数。 d のプレフィックスがつかない限り、10進小数はデフォルトで Float になる。 Since 1.0.0 関数(要約) Float (Float) abs Use abs() to get the Absolute value of the Float. (String) format(format) Use format() to format the Float using the given formatting String. (Double) toDouble Convert the Float to a Double with toDouble(). (Float) toFloat Convert to a Float with toFloat(). (Long) toLong Convert the Float to a Long with toLong(). (Number) toNumber Convert the Float to a Number with toNumber(). Instance Method Details (Float) abs 絶対値を返す Returns (Float) Floatの絶対値 Since 1.0.0 (String) format(format) フォーマット文字列を用いて、指定した表示形式の文字列を取得する フォーマット文字列は c言語の printf 関数のフォーマットに類似する。([length] オプション は使用できない) "%[flags][width][.precision]specifier"The supported specifiers are d, i, u, o, x, X, f, e, E, g, G. flags supports only "+" and "0" width supports only numbers (* is not supported) .precision supports only numbers (* is not supported) Returns (String) A formatted String Since 1.0.0 (Double) toDouble Double型に変換する Returns (Double) A Double object Since 1.0.0 (Float) toFloat Float へ変換する Returns (Float) A Float object Since 1.0.0 (Long) toLong Long 型へ変換する Returns (Long) A Long object Since 1.0.0 (Number) toNumber Number 型へ変換する 値は 0 に向かって丸められる。例)6.8 → 6、-5.7 → -5 Returns (Number) A Number object Since 1.0.0